package com.cb2.algorithm.leetcode;

/**
 * <a href="https://leetcode.cn/problems/determine-color-of-a-chessboard-square/">判断国际象棋棋盘中一个格子的颜色(Determine Color of a Chessboard Square)</a>
 * <p>给你一个坐标 coordinates ，它是一个字符串，表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘<a href="https://leetcode.cn/problems/determine-color-of-a-chessboard-square/">示意图</a>。</p>
 * <p>如果所给格子的颜色是白色，请你返回 true，如果是黑色，请返回 false 。</p>
 * <p>给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母，第二个字符是数字。</p>
 *
 * <p>
 * <b>示例：</b>
 * <pre>
 * 示例 1：
 *      输入：coordinates = "a1"
 *      输出：false
 *      解释：如上图棋盘所示，"a1" 坐标的格子是黑色的，所以返回 false 。
 *
 * 示例 2：
 *      输入：coordinates = "h3"
 *      输出：true
 *      解释：如上图棋盘所示，"h3" 坐标的格子是白色的，所以返回 true 。
 *
 * 示例 3：
 *      输入：coordinates = "c7"
 *      输出：false
 * </pre>
 * </p>
 *
 * <p>
 * <b>提示：</b>
 *  <ul>
 *      <li>coordinates.length == 2</li>
 *      <li>'a' <= coordinates[0] <= 'h'</li>
 *      <li>'1' <= coordinates[1] <= '8'</li>
 *  </ul>
 * </p>
 *
 * @author c2b
 * @since 2024/12/10 14:41
 */
public class LC1812DetermineColorOfChessboardSquare_S {

    static class Solution {
        public boolean squareIsWhite(String coordinates) {
            return ((coordinates.charAt(0) - 'a') + coordinates.charAt(1) - '0') % 2 == 0;
        }
    }

    public static void main(String[] args) {
        System.out.println("=============");
        Solution solution = new Solution();
        print(solution.squareIsWhite("a1"));    // 黑色
        print(solution.squareIsWhite("a2"));    // 白色
        print(solution.squareIsWhite("a3"));    // 黑色
        print(solution.squareIsWhite("a4"));    // 白色
        print(solution.squareIsWhite("a5"));    // 黑色
        print(solution.squareIsWhite("a6"));    // 白色
        print(solution.squareIsWhite("a7"));    // 黑色
        print(solution.squareIsWhite("a8"));    // 白色
        System.out.println("=============");
        print(solution.squareIsWhite("b1"));    // 白色
        print(solution.squareIsWhite("b2"));    // 黑色
        print(solution.squareIsWhite("b3"));    // 白色
        print(solution.squareIsWhite("b4"));    // 黑色
        print(solution.squareIsWhite("b5"));    // 白色
        print(solution.squareIsWhite("b6"));    // 黑色
        print(solution.squareIsWhite("b7"));    // 白色
        print(solution.squareIsWhite("b8"));    // 黑色
        System.out.println("=============");
    }

    private static void print(boolean val) {
        if (val) {
            System.out.print("白色 ");
        }
        System.out.print("黑色 ");
    }
}
